package com.ftg.learn.day05;

/**
 * 流程控制
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/7/11 上午8:08
 */
public class Flow01 {

    public static void main(String[] args) {

        /**
         * 循环的意义
         *  让代码（规律、公式）重复执行多次。
         *  for格式问题 :
         *  for(exp1(初始値);exp2(结束条件);exp3(增量 -- ++)){
         *      code block;//代码块
         *  }
         */
        for (int i = 0; i < 10; i++) {
            System.out.print(i + "\t");
        }
        /**
         * 1 : 0 -10
         * 2 : 10 - 0
         * 3 : 10以内所有偶数
         * 4 : 1 2 3 4 5 4 3 2 1
         * 5 : 1 - 10累加和  是否可以优化
         */
        System.out.println();
        for (int i = 0; i <= 10; i++) {
            System.out.print(10 - i + "\t");
        }

        System.out.println();
        for (int i = 1; i < 10; i++) {
            System.out.print((i <= 5 ? i : 10 - i) + "\t");
        }

        System.out.println("打印");
        for (int i = 1, max = 14; i < max; i++) {
            System.out.print((i < (max >> 1) ? i : max - i) + "\t");
        }

        /**
         * 思路 :
         * 循环里面加还是外面加
         *
         * 和要定义在外面
         * + 要在循环里面
         *
         */
        int sum = 0;
        for (int i = 1, max = 10; i <= max; i++) {
            sum += i;
        }
        System.out.printf("运算的结果为%d", sum);
//        o(n)
        /**
         * 双指针 ：
         */
        int sum1 = 0;
        for (int i = 1, max = 10; i < max; i++, max--) {
            sum1 += (i + max);
        }
        System.out.printf("运算的结果为%d", sum1);
//        o(n/2)


        /**
         * 青蛙跳井 :
         * 井   7m
         * 向上一次 3m
         * 下滑 1m
         */
        int well = 17;
        int jump = 3;
        int down = 1;
        int num = 0;

        /**
         * 先 frog 跳一下
         * num++
         * 与well比较一下
         * frog - down
         */
        System.out.println("青蛙跳井问题");
        for (int frog = 0; (frog += jump) <= well; frog -= down) {
            num++;
        }
        System.out.println(num);
    }


}
